package jnpf.service;

import com.baomidou.mybatisplus.extension.service.IService;
import jnpf.entity.ZXGL_XiangMuFanKuiEntity;
import jnpf.entity.ZXGL_XiangMuFanKui_JiaoFuwuEntity;
import jnpf.entity.ZXGL_XiangMuFanKui_RenWuEntity;
import jnpf.entity.ZXGL_XieBanXiangMuFanKuiMXEntity;
import jnpf.model.zxgl_xiangmufankui.ZXGL_XiangMuFanKuiInfoVO;
import jnpf.model.zxgl_xiangmufankui.ZXGL_XiangMuFanKuiPagination;

import java.util.List;

/**
 * ZXGL_XiangMuFanKui
 * 版本： V2.0
 * 版权： 河北交投智能交通技术有限责任公司
 * 作者： 数字交投项目组
 * 日期： 2025-03-19
 */
public interface ZXGL_XiangMuFanKuiService extends IService<ZXGL_XiangMuFanKuiEntity> {

    List<ZXGL_XiangMuFanKuiEntity> getList(ZXGL_XiangMuFanKuiPagination zXGL_XiangMuFanKuiPagination);

    List<ZXGL_XiangMuFanKuiEntity> getTypeList(ZXGL_XiangMuFanKuiPagination zXGL_XiangMuFanKuiPagination, String dataType);


    ZXGL_XiangMuFanKuiEntity getInfo(String id);

    void delete(ZXGL_XiangMuFanKuiEntity entity);

    void create(ZXGL_XiangMuFanKuiEntity entity);

    boolean update(String id, ZXGL_XiangMuFanKuiEntity entity);

    //  子表方法
    List<ZXGL_XiangMuFanKui_JiaoFuwuEntity> GetZXGL_XiangMuFanKui_JiaoFuwuList(String id);

    List<ZXGL_XiangMuFanKui_RenWuEntity> GetZXGL_XiangMuFanKui_RenWuList(String id);

    //列表子表数据方法

    /**
     * 新增AI评分评价
     *
     * @param zxglXiangMuFanKuiEntity
     * @return
     */
    boolean addAiPf(ZXGL_XiangMuFanKuiEntity zxglXiangMuFanKuiEntity);

    /***
     * 更新项目明细字段为进度、完成情况描述、交付物、上传附件、实际开始日期、实际完成日期
     * @param zxglXiangMuFanKuiInfoVO
     * @return
     */
    boolean updateProjectdetail(ZXGL_XiangMuFanKuiInfoVO zxglXiangMuFanKuiInfoVO);

    /**
     * 点击项目反馈按钮后，将项目信息带入项目反馈单中
     *
     * @param projectId
     * @return
     */
    ZXGL_XiangMuFanKuiEntity addProjectFk(String projectId);


    //  子表方法
    List<ZXGL_XieBanXiangMuFanKuiMXEntity> GetZXGL_XieBanXiangMuFanKuiMXList(String id);

    //根据项目id查询明细
    List<ZXGL_XieBanXiangMuFanKuiMXEntity> GetZXGL_XieBanXiangMuFanKuiMXListByXmId(String xmid);

    boolean add(ZXGL_XiangMuFanKuiEntity entity);

}
